package org.example.domain.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import org.example.domain.po.ErpDepot;
import org.example.domain.po.ErpMaterial;
import org.example.domain.po.ErpMaterialExtend;

import java.math.BigDecimal;
import java.util.Date;

@Data
public class ErpDepotItemDTO {
    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 表头Id
     */
    private Long headerId;

    /**
     * 商品Id
     */
    private Long materialId;

    /**
     * 商品扩展id
     */
    private Long materialExtendId;

    /**
     * 商品计量单位
     */
    private String materialUnit;

    /**
     * 多属性
     */
    private String sku;

    /**
     * 数量
     */
    private BigDecimal operNumber;

    /**
     * 基础数量，如kg、瓶
     */
    private BigDecimal basicNumber;

    /**
     * 单价
     */
    private BigDecimal unitPrice;

    /**
     * 采购单价
     */
    private BigDecimal purchaseUnitPrice;

    /**
     * 含税单价
     */
    private BigDecimal taxUnitPrice;

    /**
     * 金额
     */
    private BigDecimal allPrice;

    /**
     * 备注
     */
    private String remark;

    /**
     * 仓库ID
     */
    private Long depotId;

    /**
     * 调拨时，对方仓库Id
     */
    private Long anotherDepotId;

    /**
     * 税率
     */
    private BigDecimal taxRate;

    /**
     * 税额
     */
    private BigDecimal taxMoney;

    /**
     * 价税合计
     */
    private BigDecimal taxLastMoney;

    /**
     * 商品类型
     */
    private String materialType;

    /**
     * 序列号列表
     */
    private String snList;



    /**
     * 有效日期
     */
    private Date expirationDate;

    /**
     * 关联明细id
     */
    private Long linkId;

    /**
     * 租户id
     */
    private Long tenantId;

    /**
     * 删除标记，0未删除，1删除
     */
    private String deleteFlag;

    private Long material_id;
    private String oper_number;

    private ErpMaterial erpMaterial;
    private BigDecimal total_quantity;
    private String mname;
    private String material_name;
    private ErpDepot erpDepot;
    private ErpMaterialExtend materialExtend;
}
